There are presently over 300 million customers worldwide for cellular telephones and other wireless devices. A significant percentage of these wireless devices are being used as a “data pipe” (i.e., voice traffic is not the primary function). Within the United States, cellular service is offered by cellular service providers, by the regional Bell companies, and by the national long distance operators. The enhanced competition has driven the price of cellular service down to the point where it is affordable to a large segment of the population.
The current generation of cellular phones is used primarily for voice conversations between a subscriber device (or wireless device) and another party through the wireless network. A smaller number of wireless devices are data devices, such as personal digital assistants (PDAs) equipped with cellular/wireless modems. Because the bandwidth for a current generation wireless device is typically limited to a few tens of kilobits per second (Kbps), the applications for the current generation of wireless devices are relatively limited. However, this is expected to change in the next (or third) generation of cellular/wireless technology, sometimes referred to as “3G” wireless/cellular, where much greater bandwidth will be available to each wireless device (i.e., 125 Kbps or greater). The higher data rates will make Internet applications for wireless devices much more common. For instance, a 3G cell phone (or a PC with a 3G cellular modem) may be used to browse web sites on the Internet, to transmit and receive graphics, to execute streaming audio or video applications, and the like. A much higher percentage of the wireless traffic handled by 3G cellular systems will be Internet protocol (IP) traffic and a lesser percentage will be traditional voice traffic.
Real-time streaming of multimedia content over Internet protocol (IP) networks has become an increasingly common application in recent years. As noted above, 3G wireless networks will provide streaming data (both video and audio) to wireless devices for real time applications. A wide range of interactive and non-interactive multimedia Internet applications, such as news on-demand, live TV viewing, video conferencing, live radio broadcasting (such as Broadcast.com), and the like, will provide “real time” data streaming to wireless devices. Unlike a “downloaded” video file, which may be retrieved first in “non-real” time and viewed or played back later, real time (or streaming) data applications require a data source to encode and to transmit a streaming data signal over a network to a receiver, which must decode and play the signal (video or audio) in real time.
Wireless service providers continually try to create new markets and to expand existing markets for wireless services and equipment. One important way to accomplish this is to improve the performance of wireless network equipment while making the equipment cheaper and more reliable. Doing this allows wireless service providers to reduce infrastructure and operating costs while maintaining or even increasing the capacity of their wireless networks. At the same time, the service providers are attempting to improve the quality of wireless service and increase the quantity of services available to the end user.
The mobile switching of a wireless network provides connections between a number of wireless network base stations and the public switched telephone network. Calls originated by or terminated at a cell phone or other mobile station are handled in the mobile station by a number of call processing client applications. A conventional mobile station typically contains a large switching fabric controlled by a main processing unit (MPU) that contains a large number of data processors and associated memories, often in the form of ASIC chips. Each of these MPU processors contains a call process client application for controlling the flow of control signals of a single call. Each call process client application in turn communicates with a call process server application that controls the flow of control signals for a large number of calls.
Thus, when a particular event occurs during a phone call (e.g., the call set-up, the invocation of three-way calling, call disconnection, or the like), control signals associated with the event are relayed from the mobile station to the call process client application in the mobile switching center (MSC). This call processing client application then relays the control signals to the call process server application, which actually performs the call processing service requested by the control signals.
Unfortunately, in large capacity systems, bottlenecks may develop around the call process server applications. Each call process client application must communicate with a particular piece of server hardware that is executing a call process server application. Due to the random nature of the start and stop of phone calls, in large system, some servers may be near capacity and develop bottlenecks, while other servers still have plenty of adequate bandwidth. Moreover, a system failure in a particular piece of server hardware results in the loss of all call processes being handled by a call process server application being executed on the failed server.
For each user in a telecommunication system there exists a set of data that constitutes a customer profile of the user. A customer profile contains information such as the user's name and address, what telecommunication system services the user is authorized to use, customer billing information, etc. When a user turns on a mobile station (such as a cell phone) a mobile switching center (MSC) caches the customer profile information into memory in anticipation of the user making a call. The amount of information in the customer profile may be quite large and require a large amount of memory. Because of the time required to load a large amount of customer profile data into memory, the customer profile data is loaded into memory at the time that the mobile station is turned on. A complete set of customer profile data is referred to as a subscriber database (SDB).
The mobile switching center (MSC) assigns either an International Mobile Station Identification (IMSI) number or a Temporary Mobile Station Identification (TMSI) number to the mobile station. For data related activity, the mobile switching center (MSC) assigns a packet based Temporary Mobile Station Identification (P-TMSI) number to the mobile station. The subscriber database (SDB) is associated with the identification number (IMSI, TMSI or P-TMSI) that the mobile switching center (MSC) assigns to the mobile station.
When the user makes a call from a mobile station (e.g., a cell phone) the call is routed to the mobile switching center (MSC) for registration. The mobile switching center (MSC) is capable of sending information to and receiving information from a subscriber database (SDB) server. The subscriber database (SDB) server is capable of receiving registration messages that are sent from a mobile station to the mobile switching center (MSC). The subscriber database (SDB) server registers a mobile station with its assigned home location register (HLR). The subscriber database (SDB) server is also capable of storing service profiles for each mobile station. The subscriber database (SDB) server is also capable of accessing the mobile switching center (MSC) to obtain a temporary routing number (e.g., IMSI) during an incoming call.
Prior art systems use a single subscriber database (SDB) server arranged in a primary-backup configuration. The primary-backup configuration reduces the danger that a single failure will disable the subscriber database (SDB) server. However, this simple primary-backup arrangement presents significant problems. First, the centralized subscriber database (SDB) server will be a potential bottleneck in the system. The capability of the subscriber database (SDB) server may not be sufficient to keep up with the demands placed upon it. Second, there may be performance issues in that the access time for the centralized subscriber database (SDB) server may be too slow for real time applications. Third, there may be memory constraints on the centralized subscriber database (SDB) server. There may be a limit on the number of subscribers that the centralized subscriber database (SDB) server can hold. The centralized subscriber database (SDB) server may not very scalable as more subscribers are added to the system. Lastly, the cost associated with a centralized subscriber database (SDB) server may be significant.
There is therefore a need in the art for an improved telecommunications network architecture that is capable of distributing and accessing subscriber database (SDB) information quickly and efficiently. In particular, there is a need in the art for an improved system and method for providing a subscriber database (SDB) server in a telecommunications network.